package com.lb.activity.service;


import com.lb.activity.po.WebArticleComment;
import com.lb.activity.service.impl.TextServiceImpl;
import com.lb.activity.util.ResultUtil;
import com.lb.activity.vo.ArticleVo;
import org.springframework.cloud.netflix.feign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;
import java.util.Map;

@FeignClient(value = "feign-web",fallback = TextServiceImpl.class)
public interface TextServiceI {



    /**
     * 调用了feign-web 服务的“/texts”接口,获取文章数据
     * @param page
     * @return
     */
    @GetMapping(value = "rest/texts")
    Map<String,Object> restTexts(@RequestParam(value = "page") Integer page);


    /**
     * 文章详情
     * @param id
     * @return
     */
    @GetMapping("show/{id}")
    ArticleVo showData(@PathVariable("id")Long id);

    /**
     * 同步数据
     */
    @GetMapping("sync/data")
    void syncData();

    /**
     * 文章列表
     * @return
     */
    @GetMapping("webArticles")
    List<ArticleVo> webArticles();

    /**
     * 添加评论
     * @param webArticleComment
     * @return
     */
    @PostMapping("addComment")
    ResultUtil addComment(@RequestBody WebArticleComment webArticleComment);

    /**
     * 获取评论列表
     * @param actId
     * @return
     */
    @PostMapping("comments")
    ResultUtil comments(@RequestParam("actId") Long actId);

    @PostMapping("hotCommentAct")
    ResultUtil hotCommentAct();
}
